provide consistent version info including human readable version
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>
Fri, 14 Feb 2025 10:40:00 +0000 (11:40 +0100)
committerJyrki Gadinger <nilsding@nilsding.org>
Wed, 19 Feb 2025 15:48:45 +0000 (16:48 +0100)
should avoid displaying to an user a version number like 3.15.81

will remove some duplicated code

should allow to always use same way to display to an user the version
number

will make "3.15.81" be shown as "3.16.0 rc1"

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
VERSION.cmake
src/libsync/theme.cpp
src/libsync/theme.h
version.h.in

index 05cce3ba359a4e6cb2fa1e393f615561131f4023..b94754771470ef10bb521c54ec6fcda057ecd202 100644 (file)
@@ -33,6 +33,11 @@ set( MIRALL_VERSION_STRING ${MIRALL_VERSION} )
 set( MIRALL_VERSION_FULL "${MIRALL_VERSION_FULL}.${MIRALL_VERSION_BUILD}" )
 
 set( MIRALL_VERSION_STRING "${MIRALL_VERSION}${MIRALL_VERSION_SUFFIX}" )
+if(MIRALL_VERSION_PATCH VERSION_GREATER_EQUAL "50")
+    set (MIRALL_HUMAN_VERSION_STRING "3.17.0 alpha")
+else()
+    set (MIRALL_HUMAN_VERSION_STRING ${MIRALL_VERSION_STRING})
+endif()
 
 if( MIRALL_VERSION_BUILD )
     set( MIRALL_VERSION_STRING "${MIRALL_VERSION_STRING} (build ${MIRALL_VERSION_BUILD})" )
index f25ff9b58f0795b3d7ca3e1c5f69f26177022dd4..8927f117f6e5afdd9700c72e52fac11113a9d273 100644 (file)
@@ -410,6 +410,18 @@ Theme::Theme()
 #endif
 }
 
+QString Theme::developerStringInfo() const
+{
+    // Shorten Qt's OS name: "macOS Mojave (10.14)" -> "macOS"
+    const auto osStringList = Utility::platformName().split(QLatin1Char(' '));
+    const auto osName = osStringList.at(0);
+
+    const auto devString = QString(tr("<p>%1 Desktop Client Version %2 (%3). For more information please click <a href='%4'>here</a>.</p>", "%1 is application name. %2 is the human version string. %3 is the operating system name. %4 is the help URL"))
+    .arg(APPLICATION_NAME, QString::fromLatin1(MIRALL_HUMAN_VERSION_STRING), osName, helpUrl());
+
+    return devString;
+}
+
 // If this option returns true, the client only supports one folder to sync.
 // The Add-Button is removed accordingly.
 bool Theme::singleSyncFolder() const
@@ -592,13 +604,8 @@ QString Theme::gitSHA1() const
 
 QString Theme::aboutInfo() const
 {
-    // Shorten Qt's OS name: "macOS Mojave (10.14)" -> "macOS"
-    QStringList osStringList = Utility::platformName().split(QLatin1Char(' '));
-    QString osName = osStringList.at(0);
-
     //: Example text: "<p>Nextcloud Desktop Client</p>"   (%1 is the application name)
-    auto devString = QString(tr("<p>%1 Desktop Client</p><p>Version %1. For more information please click <a href='%2'>here</a>.</p>") + QStringLiteral(" (%3)"))
-            .arg(APPLICATION_NAME, QString::fromLatin1(MIRALL_STRINGIFY(MIRALL_VERSION)), helpUrl(), osName);
+    auto devString = developerStringInfo();
                       
 
     devString += tr("<p><small>Using virtual files plugin: %1</small></p>").arg(Vfs::modeToString(bestAvailableVfsMode()));
@@ -609,12 +616,7 @@ QString Theme::aboutInfo() const
 
 QString Theme::about() const
 {
-    // Shorten Qt's OS name: "macOS Mojave (10.14)" -> "macOS"
-    QStringList osStringList = Utility::platformName().split(QLatin1Char(' '));
-    QString osName = osStringList.at(0);
-
-    //: Example text: "<p>Nextcloud Desktop Client</p>"   (%1 is the application name)
-    const auto devString = tr("<p>%1 desktop client %2</p>").arg(APPLICATION_NAME, QString::fromLatin1(MIRALL_STRINGIFY(MIRALL_VERSION)));
+    const auto devString = developerStringInfo();
 
     return devString;
 }
@@ -622,9 +624,7 @@ QString Theme::about() const
 QString Theme::aboutDetails() const
 {
     QString devString;
-    devString = tr("<p>Version %1. For more information please click <a href='%2'>here</a>.</p>")
-              .arg(MIRALL_VERSION_STRING)
-              .arg(helpUrl());
+    devString = developerStringInfo();
 
     devString += tr("<p>This release was supplied by %1.</p>")
               .arg(APPLICATION_VENDOR);
index 1c1416ef64cdfcf860c7cb152a46dc6cbbf35c56..092fc112b4c65c70f59304ee377358621a820728 100644 (file)
@@ -645,6 +645,8 @@ private:
     Theme(Theme const &);
     Theme &operator=(Theme const &);
 
+    [[nodiscard]] QString developerStringInfo() const;
+
     void updateMultipleOverrideServers();
     void connectToPaletteSignal() const;
 #if defined(Q_OS_WIN)
index ba53a6545f7a16687dfb582fe76b0e5c6fc456d8..3c80a991416259d405459fef7a39a43fe7fe4a54 100644 (file)
@@ -35,6 +35,7 @@ constexpr auto MIRALL_VERSION_SUFFIX = "@MIRALL_VERSION_SUFFIX@";
 #cmakedefine MIRALL_VERSION_FULL  @MIRALL_VERSION_FULL@
 
 #cmakedefine MIRALL_VERSION_STRING "@MIRALL_VERSION_STRING@"
+#cmakedefine MIRALL_HUMAN_VERSION_STRING "@MIRALL_HUMAN_VERSION_STRING@"
 
 constexpr int NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MAJOR = @NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MAJOR@;
 constexpr int NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MINOR = @NEXTCLOUD_SERVER_VERSION_MIN_SUPPORTED_MINOR@;